package javaDemo.demo.day_05_01_TransferValue;

/**
 * @Description
 * @Author
 * @Date 2020/11/7 21:22
 * @Version 1.0
 */
public class TestTransferValue {

    public void changeValue1(int age){
        age = 30;
    }

    public void changeValue2(Person person){
        person.setPersonName("XXX");
    }

    public void changeValue3(String str){
        str = "xxx";
    }

    public void changeValue4(Integer age){
        age = 40;
    }

    public static void main(String[] args) {
        TestTransferValue testTransferValue = new TestTransferValue();
        int age = 20;
        testTransferValue.changeValue1(age);
        System.out.println("age----" + age);        // 20

        Person person = new Person("abc");
        testTransferValue.changeValue2(person);
        System.out.println("person----" + person.getPersonName());  // XXX

        String str = "123";
        testTransferValue.changeValue3(str);
        System.out.println("str----" + str);        // 123

        Integer integer = new Integer(2);
        testTransferValue.changeValue4(integer);
        System.out.println("integer---" + integer); // 2

        /**
         * 基本数据类型（包括其包装类） + String 类型，在传参时，是值拷贝！
         * 其他应用类型在传参时，是地址引用！
         */
    }

}
